import Vue from 'vue'
import VueRouter from 'vue-router'
import index from '../components/index/index'
import voiceRoom from '../components/voiceRoom/voiceRoom'
import my from '../components/my/my'

Vue.use(VueRouter)

const router = new VueRouter({
    routes: [
        {
            path: '/',
            name: 'index',
            component: index,
            meta: { keepAlive: true }
        },
        {
            path: '/voiceRoom',
            name: 'voiceRoom',
            component: voiceRoom,
            meta: { keepAlive: true }
        },
        {
            path: '/my',
            name: 'my',
            component: my,
            meta: { keepAlive: true }
        }
    ],
    scrollBehavior (to, from, savedPosition) {
        // console.log(to, from, savedPosition)
        // 是否是返回
        if (savedPosition) {
            return savedPosition
        } else {
            // 判斷是否是tabbar緩存頁面之間切換，是就保留滾動條，不是設置為0
            if (from.meta.keepAlive) {
                return { x: 0, y: to.meta.savedPosition || 0 }
            } else {
                return { x: 0, y: 0 }
            }

        }
    }
})
// 挂载路由导航守卫
router.beforeEach((to, from, next) => {
    next();
    // to 将要访问的路径
    // from 代表从哪个路径跳转而来
    // next 是一个函数，表示放行
    // if (to.meta.requireAuth) {   //如果需要跳转 ，往下走（1）
    //     if (store.getters.getLocToken) {   //判断是否登录过，如果有登陆过，说明有token,或者token未过期，可以跳过登录（2）
    //         next();
    //     } else {
    //         //如果没有登陆过，或者token 过期， 那么跳转到首頁
    //         setTimeout(() => {
    //             store.commit('NEW_REGISTER_TS', true)
    //             // store.commit('REGISTER_POP', true)
    //             // store.commit('LOGIN_POP',true)
    //         }, 200)
    //         next('/about');
    //     }
    // } else {
    //     //不需要跳转，直接往下走
    //     next();
    // }
})
// 緩存tababar滾動條位置
router.beforeResolve((to, from, next) => {
    if (from.meta.keepAlive) {
        // console.log(document.documentElement.scrollTop, window.pageYOffset)
        from.meta.savedPosition = window.pageYOffset;
    }
    next()
})
router.afterEach((to, from) => {
})
export default router


